From d549bdb2a0bbd012263d0795f435fdd0bdae0da6 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 10 Nov 2010 14:56:06 +0000 Subject: [PATCH] libxc: correct dirty_bitmap bounce size in xc_hvm_track_dirty_vram The size should be in bytes not 32-bit words. Fixes graphics corruption issues for HVM guests due to bouncing too little data. Also the dirty_bitmap buffer is output only and therefore only needs bouncing in one direction. Signed-off-by: Ian Campbell Signed-off-by: Ian Jackson --- tools/libxc/xc_misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libxc/xc_misc.c b/tools/libxc/xc_misc.c index f3ffb225bd..0a207cde34 100644 --- a/tools/libxc/xc_misc.c +++ b/tools/libxc/xc_misc.c @@ -423,7 +423,7 @@ int xc_hvm_track_dirty_vram( unsigned long *dirty_bitmap) { DECLARE_HYPERCALL; - DECLARE_HYPERCALL_BOUNCE(dirty_bitmap, (nr+31) / 32, XC_HYPERCALL_BUFFER_BOUNCE_BOTH); + DECLARE_HYPERCALL_BOUNCE(dirty_bitmap, (nr+7) / 8, XC_HYPERCALL_BUFFER_BOUNCE_OUT); DECLARE_HYPERCALL_BUFFER(struct xen_hvm_track_dirty_vram, arg); int rc; -- 2.30.2